import type { ProVO, ProForm } from './types';
import type { ID, IDS, PageQuery, PageResult } from '#/api/common';
import { commonExport } from '#/api/helper';
import { requestClient } from '#/api/request';

// API 路径定义
const API_PREFIX = '/system/pro';
const API_EXPORT = API_PREFIX + '/export';
const API_LIST = API_PREFIX + '/list';

/**
 * 查询功能列表
 * @param params 搜索条件
 * @returns 分页列表
 */
export function proList(params) {
  return requestClient.get(API_LIST, { params });
}

/**
 * 导出功能信息
 * @param data 查询参数
 * @returns blob
 */
export function proExport(data) {
  return commonExport(API_EXPORT, data);
}

/**
 * 查询功能信息
 * @param id 功能id
 * @returns 功能信息
 */
export function proInfo(id) {
  return requestClient.get(API_PREFIX + '/' + id);
}

/**
 * 功能新增
 * @param data 参数
 * @returns void
 */
export function proAdd(data) {
  return requestClient.postWithMsg(API_PREFIX, data);
}

/**
 * 功能更新
 * @param data 参数
 * @returns void
 */
export function proUpdate(data) {
  return requestClient.putWithMsg(API_PREFIX, data);
}

/**
 * 功能删除
 * @param ids ids
 * @returns void
 */
export function proRemove(ids) {
  return requestClient.deleteWithMsg(API_PREFIX + '/' + ids);
}
